<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // 练习：实现一个函数传入一个键值为数字的数组 ，
        // 调用函数的时候打印数组所有键值的和？

        // 函数 ：
        /*
        // 一、函数定义
            1.声明式 :声明前后都可以调用
            2.赋值式 : 只能在赋值之后调用
            3.声明式和赋值式区别
        // 二、函数调用 
            1.通过"函数名()"
            2.了解 new 函数名 可选括号
            3.如果函数没有定义 直接调用会报错 如果处理错误？
                1.通过if来判断:如果有fn函数 就调用fn函数
                    if(fn){
                     fn();
                    }
                2.上面1内容简写  fn && fn();
           三、函数的参数
            1.形参： 定义时候传入
            2.实参： 调用的时候传递
               1 实参可以 是实在的值  数字、字符串、布尔、”“、null、undefined
               2.传入变量 （确保变量有值,变量被定义了）; 
               3.隐藏参数 （不定参）arguments(伪数组);
                     使用场景：多数情况都是处理不定参（参数个数会变动）
            3.参数的数量
                1.形参比实参多
                    多的形参就是会打印undefined
                2.实参比形参多
                    使用没什么影响，不建议这样写  
                3.多数情况下实参和形参都是数量等同的 且是一一对应关系
            四、数组 
                1.数组定义 var arr = [1,2,3];--->键名（索引：从0开始从左向右计算）-->键值
                2.通过 数组[键名] 获取对应键值  ：arr[1]-->键值：2
                3.数组的长度 数组.length 就是数组的长度
            五、字符串 可以当成数组来使用
                好处 字符串拥有了数组的功能
                    1.下标 键值
                    2.长度
                    3.可以通过  字符串[下标] --》对应的键值；
               */
// 练习：
// 键值为数字的数组
// var arr = [3,2,6,9];
// function fn(arr){
//     var total = 0;
//     for(var i=0;i<arr.length;i++){
//         total += arr[i];
//     }
//     console.log(total);
// }
// fn(arr);

// 如果有fn函数 就调用fn函数
// fn && fn();

// var fn = function(){
//     console.log("fn");
// }
// fn && fn();
// if(fn){
//     fn();
// }


        // ["字符串",2,3,4]
        //  0 1 2 3
    //    function test(a){
    //         console.log(a);
    //    }
    //   //    console.log(a);
    //    var b = 10;
    //    test(b);

    // function test(a,b,c,d,e){
    //     console.log(c,d,e);
    // }
    // test(1,2);

    // function test(a,b){

    // }
    // test(1,2,3,4,5,6,7)
    // var  str = "abcde";
    // // 当成下面来看
    // var str = ["a","b","c","d","e"];

    </script>
</body>
</html>